// pages/stat/stat.js
import * as echarts from '../../ec-canvas/echarts';
const app = getApp();
const util = require('../../utils/util')
// 初始化云数据库环境
let db = wx.cloud.database({
  env: 'junsheng0108-9gsv99le6b9d0ec9'
});
// 连接数据表
let job = db.collection('db_job');
let undone = db.collection('db_undone')
let flag = db.collection('db_flag')
let finish = db.collection('db_finish')

let chart = null;
let option = {
  title: {
    // text: '某站点用户访问来源',
    // subtext: '纯属虚构',
    x: 'center'
  },
  tooltip: {
    trigger: 'item',
    formatter: "{b} : {c} ({d}%)"
  },
  legend: {
    orient: 'vertical',
    left: 'left',
    data: ['已完成', '未完成', '旗帜']
  },
  series: [{
    name: '访问来源',
    type: 'pie',
    radius: '55%',
    center: ['50%', '60%'],
    data: [{
        value: 335,
        name: '已完成'
      },
      {
        value: 310,
        name: '未完成'
      },
      {
        value: 234,
        name: '旗帜'
      },
    ],
    itemStyle: {
      emphasis: {
        shadowBlur: 10,
        shadowOffsetX: 0,
        shadowColor: 'rgba(0, 0, 0, 0.5)'
      }
    }
  }]
};

setInterval(function(){
  option.series[0].data[0].value = app.globalData.todofinish;
  option.series[0].data[1].value = app.globalData.todoundone;
  option.series[0].data[2].value = app.globalData.todoflag;
  chart.setOption(option,true);
},1000)

function initChart(canvas, width, height, dpr) {
  chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr // new
  });
  canvas.setChart(chart);
  chart.setOption(option);
  return chart;
}



Page({
  /**
   * 页面的初始数据
   */
  data: {
    // bar: null,
    bar: {
      onInit: initChart,
    },
    finish: 0,
    undone: 0,
    flag: 0,
    total: 0,
    finishrate: 0,
    undonerate: 0,
    flagrate: 0
  },


  // e-chars
  // initimgbiao() {
  //   let chart = null;
  //   let option = {
  //     tooltip: {
  //       trigger: 'item',
  //       formatter: '{a} {b} : {c} ({d}%)'
  //     },
  //     legend: {
  //       orient: 'vertical',
  //       left: 'left',
  //       data: ['已完成', '未完成', '旗帜']
  //     },
  //     series: [{
  //       name: '统计对象',
  //       type: 'pie',
  //       radius: '55%',
  //       center: ['50%', '60%'],
  //       data: [{
  //           value: this.data.finish,
  //           name: '已完成'
  //         },
  //         {
  //           value: this.data.undone,
  //           name: '未完成'
  //         },
  //         {
  //           value: this.data.flag,
  //           name: '旗帜'
  //         },
  //       ],
  //       emphasis: {
  //         itemStyle: {
  //           shadowBlur: 10,
  //           shadowOffsetX: 0,
  //           shadowColor: 'rgba(0, 0, 0, 0.5)'
  //         }
  //       }
  //     }]

  //   };

  //   function initChart(canvas, width, height, dpr) {
  //     chart = echarts.init(canvas, null, {
  //       width: width,
  //       height: height,
  //       devicePixelRatio: dpr // new
  //     });
  //     canvas.setChart(chart);
  //     chart.setOption(option);
  //     return chart;
  //   }
  //   this.setData({
  //     bar: {
  //       onInit: initChart,
  //     },
  //   })
  // },

  // 渲染已完成总数值
  async finishTotal() {
    await finish.get()
      .then(content => {
        let {
          data,
          errMsg
        } = content;
        if (errMsg == "collection.get:ok") {
          this.setData({
            finish: data.length,
          })
          app.globalData.todofinish = data.length
        }
      })
  },
  // 渲染未完成总数值
  async undoneTotal() {
    await undone.get()
      .then(content => {
        let {
          data,
          errMsg
        } = content;
        if (errMsg == "collection.get:ok") {
          this.setData({
            undone: data.length,
          })
          app.globalData.todoundone = data.length
        }
      })
  },
  // 渲染旗帜总数值
  async flagTotal() {
    await flag.get()
      .then(content => {
        let {
          data,
          errMsg
        } = content;
        if (errMsg == "collection.get:ok") {
          this.setData({
            flag: data.length,
          })
          app.globalData.todoflag = data.length
        }
      })
  },




  // 渲染列表总数值
  async getJobList() {
    await job.get()
      .then(content => {
        console.log(content)
        let {
          data,
          errMsg
        } = content;
        if (errMsg == "collection.get:ok") {
          this.setData({
            total: data.length,
          })
        }
      })
  },





  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
   
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

    this.finishTotal()
    this.undoneTotal()
    this.flagTotal()
    this.getJobList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})